1. Field of the Invention
The present invention relates to a packet relaying method and device, and in particular to a packet relaying method and device applied to a relaying device or the like within a communication network of a packet system.
2. Description of the Related Art
Owing to the Internet widespread and advanced, various kinds of data have been distributed in large quantity on the Internet or an intranet adopting an Internet protocol. Namely, a variety of data such as an e-mail data or WWW data requiring no real time property, an IP telephone requiring strict real time property, accounting system data requiring a high-speed and reliable data transfer, and the like share the same transmission line to be transmitted.
The Internet protocol (IP) that is a data communication rule used for the Internet is basically designed to treat the entire data equally. Therefore, on the network where a mixture of important and unimportant data is distributed, a problem occurs that a bandwidth for the important data is generally lost when the bandwidth is consumed by the transmission of the unimportant data.
In order to solve this problem, a method of enhancing the rate of a transmission path itself has been conventionally adopted. Although this method can improve the communication quality in the easiest way, the investment for new plant and equipment is high, and the plant and equipment become wasteful in a time zone while data do not flow, in case of burst data where an intermittent flow of large amount of data being concentrated in a short time like transmission/reception of e-mails. Thus, this method is not economically preferable.
Therefore, a technology for controlling a bandwidth by classifying data according to importance/unimportance and a real time property, and by assigning a large bandwidth to important data and data with a high real time property, and a small bandwidth to unimportant data with a low real time property has been developed. This is a network QoS (Quality of Service) technology.
The QoS generally indicates a service quality. However, the QoS of the network mainly indicates a quality concerning a transmission rate and a transmission delay. The QoS technology is installed in a packet relaying (switching) device on a network. A network designer designs a bandwidth control policy of the entire network, and guarantees or commits the QoS of the network by applying this policy to the relaying device existing on the network.
FIG. 5 shows a general arrangement of a network including such a packet relaying device, where a packet relaying device 2 having received a packet from a network 1 transmits the packet to terminals (servers) 5_1-5—n (hereinafter, occasionally represented by a reference numeral “5”) through an L2 switch 3 and load balancers 4_1 and 4_2 (hereinafter, occasionally represented by a reference numeral “4”). In this example, a packet of 10 Gbps from the packet relaying device 2 is confined or shaped to a packet of 1 Gbps by the L2 switch 3, which is further dispersed into packets of 100 Mbps by the load balancers 4 to be provided to the terminals 5. It is supposed that eight terminals 5 are connected to each of the load balancers 4.
FIG. 6 shows a prior art arrangement of a bandwidth control (shaping) system in the packet relaying device shown in FIG. 5. This arrangement is composed of a metering processor 11, a WRED (Weighted Random Early Detection) processor 12, a queue portion 13, and a scheduler 14. It is supposed in this example that the flow per packet is specified (including information for identifying a packet flow).
Firstly, the metering processor 11 meters a quantity of a data flow (bit number=number of bit, per unit time) of inputted packets per flow. A peak (limit) token counter (data bit number=number of data bit) and a committed (guaranteed) token counter (packet number=number of packet) of the concerned flow are calculated from the time when the packets of the concerned flow came before, the present time, the length of an inputted packet, the peak bandwidth (Bp), and the committed bandwidth (Bc). By comparing the bit number calculated with the packet length of the inputted packets, information concerning the flow state is assigned to the inputted packets. This flow state information is represented by colors (typically three colors of red, yellow and blue) in conformance with a traffic signal (see e.g. non-patent documents 1 and 2). In this case, red means a packet which exceeds the peak bandwidth and is to be discarded, and blue means a packet to be passed. Adding the information to the packet is called “coloring”.
The WRED processor 12 performs discarding with a probability based on a color attached by the metering processor 11 and the length of all the packets in the queue portion 13 to which the packets are to enter. Namely, the queue portion 13 is allocated a single queue per each flow. The WRED processor 12 performs discarding when the packet number in the queue is equal to or more than an upper limit value (designated value) and performs passing when the packet number is equal to or less than a lower limit value (designated value). When the packet number is between the upper limit value and the lower limit value, the WRED processor 12 performs discarding with a probability, whereby the packet is discarded in case of red, the packet is passed in case of blue and the packet is discarded based on a probability calculated according to the queue number in the queue portion in case of yellow.
The scheduler 14 schedules an output order and an output interval of the packets according to a metering subject of each queue and a priority designated per queue.
It is to be noted that as a technology for avoiding an overflow of a queue in bandwidth controlling (shaping) upon burst occurrence there are a shaping processing device and method (see e.g. patent document 1).                [Non-patent document 1] Heinanen, J. and R. Guerin, “A Single Rate Three Color Marker”, RFC2697, 1999. (http://www.IETF.org.)        [Non-patent document 2] Heinanen, J. and R. Guerin, “A Two Rate Three Color Marker”, RFC2698, 1999. (http://www.IETF.org.)        [Patent document 1]        Japanese Patent Application Laid-open No. 10-173664        
In the conventional technology, metering of a quantity of data flow at the metering processor has been performed by a data bit number per unit time (generally expressed by a unit of bps (bit per second)) as mentioned above. This is because communication quality guarantee (QoS) firstly aims to avoid congestion of a data transmission line.
However, most of servers and load balancers do not have packet throughput enough to get the most out of line ability. This is due to complicated contents of various services performed by the servers. Also, even if the speed of the data line is enhanced, when the throughput of the packet relaying device does not catch up with such a speed enhancement, the packet relaying device itself becomes a bottleneck and the case where the QoS set can not be satisfied occurs. The packet throughput of the server, the load balancer and the packet relaying device is expressed by the packet processing number per unit time, and pps (packet per second) is generally used for its unit.
In case of a transmission system of a fixed length packet such as an ATM (Asynchronous Transfer Mode), the QoS including the throughput of the device can be regulated to some extent by controlling bps since bps is nearly proportional to pps. However, in case of a transmission system in which a packet length is variable such as the Ethernet (registered trademark), correlation between the bit number (bps) and the packet number (pps) is low. It is impossible to take account of the packet throughput of the device in the bandwidth control regulated solely by the bit number (bps) or the packet number (pps). Therefore, in the network of a variable length packet system including a server load balancer or the like whose packet throughput is low, a desired QoS has not been obtained in some cases.
This will now be described referring to packet relaying systems [1] and [2] respectively shown in FIGS. 7A, 7B, 8A and 8B.
Firstly, when a line rate (speed) on the output side of the packet relaying device 2 is confined to 1 Gbps as shown in FIG. 7A and the packet transmitted is supposed to be the shortest packet of 64 bytes, the output data assume 1,480,000 pps. Supposing that the throughput of the load balancer 4 is 800,000 pps, 680,000 packets will be lost. Namely, supposing that eight terminals 5 are connected to the load balancer 4 and a request throughput of the terminal 5 is 100,000 pps per terminal, the packets are discarded on the side of the terminal 5 when the packets of equal to or more than 800,000 pps are flowed to the load balancer 4.
On the other hand, when the packet transmitted at the same rate is the longest packet of 1,514 bytes, as shown in FIG. 7B, the output data become 80,000 pps. Although the throughput of the load balancer 4 is not exceeded in this case, there is a problem that only 1/10 is worked.
Furthermore, when the line rate is confined to 800,000 pps as shown in FIG. 8A and the packet transmitted is the shortest packet of 64 bytes, the output data assume 600 Mbps. If the throughput of a load balancer 4 is supposed to be 100 M×8=800 Mbps, the output data of 600 Mbps will be passed. However, when the packet transmitted at the same rate is the longest packet of 1,514 bytes, as shown FIG. 8B, the output data assume 10 Gbps, which is far beyond the throughput of the load balancer 4, so that almost all the packets are to be discarded.
In the conventional bandwidth setting, it is best to set the line bandwidth of 1 Gbps for a line efficiency since there is only bps setting. However, in that case, almost 1,500,000 pps of packets are flowed to the load balancer depending on the frame length. On the other hand, when the line rate is confined to within 800,000 pps, the bandwidth has to be confined to about 600 Mbps in the bps setting.
Thus, only by the bandwidth control of the bit number (bps) or the packet number (pps), the desired QoS can not be obtained.